package com.bgs.travelapp.menu.controller;

import com.bgs.travelapp.menu.entity.MenuEntity;
import com.bgs.travelapp.menu.service.MenuService;
import com.bgs.travelapp.page.PageRequest;
import com.bgs.travelapp.page.PageResult;
import com.bgs.travelapp.result.CommonResult;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

/**
 * 菜单管理 （后端）
 * gpd
 * 2022-07-18 21点11分
 */
@RestController
@CrossOrigin
@RequestMapping("/menu")
public class MenuController {
    @Resource
    MenuService menuService;

    /**
     * 遍历菜单 （后端---角色授权功能）
     * gpd 2022-07-18 09:16
     * @return
     */
    @GetMapping("/getMenuTree")
    public CommonResult getMenuTree(){
        return CommonResult.ok(menuService.getMenuTree());
    }

    /**
     *分页全查 （后端---菜单管理）
     * gpd 2022-07-18 09:30
     * @param pageRequest
     * @return
     */
    @GetMapping("/getMenuAllListByPage")
    public PageResult getMenuAllListByPage(PageRequest pageRequest){
        return menuService.getMenuAllListByPage(pageRequest);
    }

    /**
     * 新增菜单 （后端---菜单管理）
     * gpd 2022-07-18 09:46
     * @param menuEntity
     * @return
     */
    @PostMapping("/saveMenu")
    public CommonResult saveMenu(@RequestBody MenuEntity menuEntity){
        return CommonResult.ok(menuService.saveMenu(menuEntity));
    }

    /**
     * 修改菜单 （后端---菜单管理）
     * gpd 2022-07-18 09:46
     * @param menuEntity
     * @return
     */
    @PutMapping("/updateMenu")
    public CommonResult updateMenu(@RequestBody MenuEntity menuEntity){
        return CommonResult.ok(menuService.updateMenu(menuEntity));
    }

    /**
     * 删除菜单根据id （后端---菜单管理）
     * gpd 2022-07-18 09:56
     * @param id
     * @return
     */
    @DeleteMapping("/deleteMenu")
    public CommonResult deleteMenu(Integer id){
         return CommonResult.ok(menuService.deleteMenu(id));
    }
}
